
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
#include "Location.h"

Location:: Location ()
{
ile_pkt=0;
}
           
int Location:: get_ile_pkt() {return ile_pkt;}

void Location::zwolnij_trase()
{
      road.erase(road.begin(),road.begin()+ road.size());
      ile_pkt=0;
      ile_danych = 0;
 }
 
void Location::wczytaj_droge(char* link)
{   
    zwolnij_trase();
    ifstream fin;
    fin.open(link);   
    // get length of file:
    fin.seekg (0, ios::end);
    ile_danych = fin.tellg();
    fin.seekg (0, ios::beg); 
    Punkt* pkt;   
    char c = 0;
    int licznik = 0;
    int mnoznik = 1;
    bool linia = false;
    int * tab = new int[3];
    for(int i=0; i<3 ; i++)tab[i] = 0; 
   // ofstream aa("kawa.txt",ios_base::app );
    while(fin.peek()!=EOF) {
                          fin.get(c); 
                          if(c=='#'){linia= true;  continue;}
                          if(!linia) continue;
                          if(c=='-'){c =0; mnoznik = -1;   continue;}
                          if(c==','){c =0;  
                                       tab[licznik]=tab[licznik]*mnoznik; 
                                       licznik ++ ; 
                                       mnoznik = 1;   
                                       continue;}
                          if(c==';'){c =0;  
                                       tab[licznik]=tab[licznik]*mnoznik; 
                                       licznik = 0; 
                                       mnoznik = 1; 
                                       linia= false; 
                                       pkt = new Punkt(tab[0],(-1)*tab[1],tab[2]);
                                       road.push_back(pkt);
                                       ile_pkt++;
                                              for(int i=0; i<3 ; i++) tab[i]=0;
                                       continue;}                                                         
                          tab[licznik]=tab[licznik]*10+((int)c-48);
                          }
    delete [] tab; 
    //fin.close();                      
     
}



